Correctly handle the cell list and indices into it. (#321856)
authorMatthias Clasen <mclasen@redhat.com>
Mon, 28 Nov 2005 15:32:44 +0000 (15:32 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 28 Nov 2005 15:32:44 +0000 (15:32 +0000)
2005-11-28  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
handle the cell list and indices into it.  (#321856)

ChangeLog
ChangeLog.pre-2-10
gtk/gtkiconview.c

index c07a4cf0490f4de632f5fc9697ff764d70135ef6..1729178ce920fdb2fb1ec39bdabf48244969576a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-28  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
+       handle the cell list and indices into it.  (#321856)
+
 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtktooltips.c (gtk_tooltips_timeout): Set timer_tag to 0 when
index c07a4cf0490f4de632f5fc9697ff764d70135ef6..1729178ce920fdb2fb1ec39bdabf48244969576a 100644 (file)
@@ -1,3 +1,8 @@
+2005-11-28  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
+       handle the cell list and indices into it.  (#321856)
+
 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtktooltips.c (gtk_tooltips_timeout): Set timer_tag to 0 when
index 6657c718531894f8a8674507f961aad391c0a438..d5b680a7a28010d85613ebe49d221d51b252a207 100644 (file)
@@ -4714,10 +4714,13 @@ update_text_cell (GtkIconView *icon_view)
     {
       if (icon_view->priv->text_cell != -1)
        {
+         if (icon_view->priv->pixbuf_cell > icon_view->priv->text_cell)
+           icon_view->priv->pixbuf_cell--;
+
          info = g_list_nth_data (icon_view->priv->cell_list, 
                                  icon_view->priv->text_cell);
          
-         g_list_remove (icon_view->priv->cell_list, info);
+         icon_view->priv->cell_list = g_list_remove (icon_view->priv->cell_list, info);
          
          free_cell_info (info);
          
@@ -4784,10 +4787,13 @@ update_pixbuf_cell (GtkIconView *icon_view)
     {
       if (icon_view->priv->pixbuf_cell != -1)
        {
+         if (icon_view->priv->text_cell > icon_view->priv->pixbuf_cell)
+           icon_view->priv->text_cell--;
+
          info = g_list_nth_data (icon_view->priv->cell_list, 
                                  icon_view->priv->pixbuf_cell);
          
-         g_list_remove (icon_view->priv->cell_list, info);
+         icon_view->priv->cell_list = g_list_remove (icon_view->priv->cell_list, info);
          
          free_cell_info (info);